package com.gome.security.util.MD;

import java.security.MessageDigest;  

/** 
 * jdk6本身支持的MD2和MD5的算法实现 
 * @author kongqz 
 * 应用：这种摘要算法主要用来校验文件是否被获取的准确性。
 * */  
public class MDCoder {  
      
      
    /** 
     * MD2的消息摘要算法实现 
     * @param data 要做消息摘要的数据 
     * @return byte[] 消息摘要 
     *  
     * */  
    public static byte[] encodeMD2(byte[] data) throws Exception{  
        //初始化MessageDigest  
        MessageDigest md=MessageDigest.getInstance("MD2");  
          
        return md.digest(data);  
    }  
      
    /** 
     * MD5的消息摘要算法实现 
     * @param data 要做消息摘要的数据 
     * @return byte[] 消息摘要 
     *  
     * */  
    public static byte[] encodeMD5(byte[] data) throws Exception{  
        //初始化MessageDigest  
        MessageDigest md=MessageDigest.getInstance("MD5");  
          
        return md.digest(data);  
    }  
    /** 
     * @param args 
     * @throws Exception  
     */  
    public static void main(String[] args) throws Exception {  
        String str="java 6 的消息摘要算法";  
        System.out.println("原文："+str);  
        byte[] data1=MDCoder.encodeMD2(str.getBytes());  
        System.out.println("MD2的消息摘要算法值："+data1.toString());  
          
        byte[] data2=MDCoder.encodeMD5(str.getBytes());  
        System.out.println("MD5的消息摘要算法值："+data2.toString());  
          
          
    }  
} 
